package eulerj;

import java.math.BigInteger;
import java.util.ArrayList;

public class MemoizedFib {

	private static ArrayList<BigInteger> fibCache = new ArrayList<BigInteger>();
	
	static {//costrut
		fibCache.add(BigInteger.ZERO);
		fibCache.add(BigInteger.ONE);
	}
	
	public static BigInteger fibCalc(int n) {
		if(n >= fibCache.size()){
			fibCache.add(n, fibCalc(n-1).add(fibCalc(n-2)));
			}
		return fibCache.get(n);
	}
	
	
}
